feat(dashboard): variant images management UI#13670
feat(dashboard): variant images management UI#13670fPolic merged 31 commits intofeat/scoped-variant-imagesfrom
Conversation
🦋 Changeset detectedLatest commit: 9ebdcb3 The changes in this PR will be included in the next version bump. This PR includes changesets to release 74 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
The latest updates on your projects. Learn more about Vercel for GitHub. 8 Skipped Deployments
|
… labels, add API call and wrap UI
|
/snapshot-this |
|
/snapshot-this |
🚀 A snapshot release has been made for this PRTest the snapshots by updating your yarn add @medusajs/admin-bundler@2.11.1-snapshot-20251022075617yarn add @medusajs/admin-sdk@2.11.1-snapshot-20251022075617yarn add @medusajs/admin-shared@2.11.1-snapshot-20251022075617yarn add @medusajs/admin-vite-plugin@2.11.1-snapshot-20251022075617yarn add @medusajs/dashboard@2.11.1-snapshot-20251022075617yarn add create-medusa-app@2.11.1-snapshot-20251022075617yarn add @medusajs/cli@2.11.1-snapshot-20251022075617yarn add medusa-dev-cli@2.11.1-snapshot-20251022075617yarn add @medusajs/medusa-oas-cli@2.11.1-snapshot-20251022075617yarn add @medusajs/core-flows@2.11.1-snapshot-20251022075617yarn add @medusajs/framework@2.11.1-snapshot-20251022075617yarn add @medusajs/js-sdk@2.11.1-snapshot-20251022075617yarn add @medusajs/modules-sdk@2.11.1-snapshot-20251022075617yarn add @medusajs/orchestration@2.11.1-snapshot-20251022075617yarn add @medusajs/types@2.11.1-snapshot-20251022075617yarn add @medusajs/utils@2.11.1-snapshot-20251022075617yarn add @medusajs/workflows-sdk@2.11.1-snapshot-20251022075617yarn add @medusajs/deps@2.11.1-snapshot-20251022075617yarn add @medusajs/icons@2.11.1-snapshot-20251022075617yarn add @medusajs/ui@4.0.25-snapshot-20251022075617yarn add @medusajs/ui-preset@2.11.1-snapshot-20251022075617yarn add @medusajs/medusa@2.11.1-snapshot-20251022075617yarn add @medusajs/telemetry@2.11.1-snapshot-20251022075617yarn add @medusajs/test-utils@2.11.1-snapshot-20251022075617yarn add @medusajs/analytics@2.11.1-snapshot-20251022075617yarn add @medusajs/api-key@2.11.1-snapshot-20251022075617yarn add @medusajs/auth@2.11.1-snapshot-20251022075617yarn add @medusajs/cache-inmemory@2.11.1-snapshot-20251022075617yarn add @medusajs/cache-redis@2.11.1-snapshot-20251022075617yarn add @medusajs/caching@2.11.1-snapshot-20251022075617yarn add @medusajs/cart@2.11.1-snapshot-20251022075617yarn add @medusajs/currency@2.11.1-snapshot-20251022075617yarn add @medusajs/customer@2.11.1-snapshot-20251022075617yarn add @medusajs/event-bus-local@2.11.1-snapshot-20251022075617yarn add @medusajs/event-bus-redis@2.11.1-snapshot-20251022075617yarn add @medusajs/file@2.11.1-snapshot-20251022075617yarn add @medusajs/fulfillment@2.11.1-snapshot-20251022075617yarn add @medusajs/index@2.11.1-snapshot-20251022075617yarn add @medusajs/inventory@2.11.1-snapshot-20251022075617yarn add @medusajs/link-modules@2.11.1-snapshot-20251022075617yarn add @medusajs/locking@2.11.1-snapshot-20251022075617yarn add @medusajs/notification@2.11.1-snapshot-20251022075617yarn add @medusajs/order@2.11.1-snapshot-20251022075617yarn add @medusajs/payment@2.11.1-snapshot-20251022075617yarn add @medusajs/pricing@2.11.1-snapshot-20251022075617yarn add @medusajs/product@2.11.1-snapshot-20251022075617yarn add @medusajs/promotion@2.11.1-snapshot-20251022075617yarn add @medusajs/analytics-local@2.11.1-snapshot-20251022075617yarn add @medusajs/analytics-posthog@2.11.1-snapshot-20251022075617yarn add @medusajs/auth-emailpass@2.11.1-snapshot-20251022075617yarn add @medusajs/auth-github@2.11.1-snapshot-20251022075617yarn add @medusajs/auth-google@2.11.1-snapshot-20251022075617yarn add @medusajs/caching-redis@2.11.1-snapshot-20251022075617yarn add @medusajs/file-local@2.11.1-snapshot-20251022075617yarn add @medusajs/file-s3@2.11.1-snapshot-20251022075617yarn add @medusajs/fulfillment-manual@2.11.1-snapshot-20251022075617yarn add @medusajs/locking-postgres@2.11.1-snapshot-20251022075617yarn add @medusajs/locking-redis@2.11.1-snapshot-20251022075617yarn add @medusajs/notification-local@2.11.1-snapshot-20251022075617yarn add @medusajs/notification-sendgrid@2.11.1-snapshot-20251022075617yarn add @medusajs/payment-stripe@2.11.1-snapshot-20251022075617yarn add @medusajs/region@2.11.1-snapshot-20251022075617yarn add @medusajs/sales-channel@2.11.1-snapshot-20251022075617yarn add @medusajs/settings@2.11.1-snapshot-20251022075617yarn add @medusajs/stock-location@2.11.1-snapshot-20251022075617yarn add @medusajs/store@2.11.1-snapshot-20251022075617yarn add @medusajs/tax@2.11.1-snapshot-20251022075617yarn add @medusajs/user@2.11.1-snapshot-20251022075617yarn add @medusajs/workflow-engine-inmemory@2.11.1-snapshot-20251022075617yarn add @medusajs/workflow-engine-redis@2.11.1-snapshot-20251022075617yarn add @medusajs/draft-order@2.11.1-snapshot-20251022075617
|
|
/snapshot-this |
🚀 A snapshot release has been made for this PRTest the snapshots by updating your yarn add @medusajs/admin-bundler@2.11.1-snapshot-20251022143349yarn add @medusajs/admin-sdk@2.11.1-snapshot-20251022143349yarn add @medusajs/admin-shared@2.11.1-snapshot-20251022143349yarn add @medusajs/admin-vite-plugin@2.11.1-snapshot-20251022143349yarn add @medusajs/dashboard@2.11.1-snapshot-20251022143349yarn add create-medusa-app@2.11.1-snapshot-20251022143349yarn add @medusajs/cli@2.11.1-snapshot-20251022143349yarn add medusa-dev-cli@2.11.1-snapshot-20251022143349yarn add @medusajs/medusa-oas-cli@2.11.1-snapshot-20251022143349yarn add @medusajs/core-flows@2.11.1-snapshot-20251022143349yarn add @medusajs/framework@2.11.1-snapshot-20251022143349yarn add @medusajs/js-sdk@2.11.1-snapshot-20251022143349yarn add @medusajs/modules-sdk@2.11.1-snapshot-20251022143349yarn add @medusajs/orchestration@2.11.1-snapshot-20251022143349yarn add @medusajs/types@2.11.1-snapshot-20251022143349yarn add @medusajs/utils@2.11.1-snapshot-20251022143349yarn add @medusajs/workflows-sdk@2.11.1-snapshot-20251022143349yarn add @medusajs/deps@2.11.1-snapshot-20251022143349yarn add @medusajs/icons@2.11.1-snapshot-20251022143349yarn add @medusajs/ui@4.0.25-snapshot-20251022143349yarn add @medusajs/ui-preset@2.11.1-snapshot-20251022143349yarn add @medusajs/medusa@2.11.1-snapshot-20251022143349yarn add @medusajs/telemetry@2.11.1-snapshot-20251022143349yarn add @medusajs/test-utils@2.11.1-snapshot-20251022143349yarn add @medusajs/analytics@2.11.1-snapshot-20251022143349yarn add @medusajs/api-key@2.11.1-snapshot-20251022143349yarn add @medusajs/auth@2.11.1-snapshot-20251022143349yarn add @medusajs/cache-inmemory@2.11.1-snapshot-20251022143349yarn add @medusajs/cache-redis@2.11.1-snapshot-20251022143349yarn add @medusajs/caching@2.11.1-snapshot-20251022143349yarn add @medusajs/cart@2.11.1-snapshot-20251022143349yarn add @medusajs/currency@2.11.1-snapshot-20251022143349yarn add @medusajs/customer@2.11.1-snapshot-20251022143349yarn add @medusajs/event-bus-local@2.11.1-snapshot-20251022143349yarn add @medusajs/event-bus-redis@2.11.1-snapshot-20251022143349yarn add @medusajs/file@2.11.1-snapshot-20251022143349yarn add @medusajs/fulfillment@2.11.1-snapshot-20251022143349yarn add @medusajs/index@2.11.1-snapshot-20251022143349yarn add @medusajs/inventory@2.11.1-snapshot-20251022143349yarn add @medusajs/link-modules@2.11.1-snapshot-20251022143349yarn add @medusajs/locking@2.11.1-snapshot-20251022143349yarn add @medusajs/notification@2.11.1-snapshot-20251022143349yarn add @medusajs/order@2.11.1-snapshot-20251022143349yarn add @medusajs/payment@2.11.1-snapshot-20251022143349yarn add @medusajs/pricing@2.11.1-snapshot-20251022143349yarn add @medusajs/product@2.11.1-snapshot-20251022143349yarn add @medusajs/promotion@2.11.1-snapshot-20251022143349yarn add @medusajs/analytics-local@2.11.1-snapshot-20251022143349yarn add @medusajs/analytics-posthog@2.11.1-snapshot-20251022143349yarn add @medusajs/auth-emailpass@2.11.1-snapshot-20251022143349yarn add @medusajs/auth-github@2.11.1-snapshot-20251022143349yarn add @medusajs/auth-google@2.11.1-snapshot-20251022143349yarn add @medusajs/caching-redis@2.11.1-snapshot-20251022143349yarn add @medusajs/file-local@2.11.1-snapshot-20251022143349yarn add @medusajs/file-s3@2.11.1-snapshot-20251022143349yarn add @medusajs/fulfillment-manual@2.11.1-snapshot-20251022143349yarn add @medusajs/locking-postgres@2.11.1-snapshot-20251022143349yarn add @medusajs/locking-redis@2.11.1-snapshot-20251022143349yarn add @medusajs/notification-local@2.11.1-snapshot-20251022143349yarn add @medusajs/notification-sendgrid@2.11.1-snapshot-20251022143349yarn add @medusajs/payment-stripe@2.11.1-snapshot-20251022143349yarn add @medusajs/region@2.11.1-snapshot-20251022143349yarn add @medusajs/sales-channel@2.11.1-snapshot-20251022143349yarn add @medusajs/settings@2.11.1-snapshot-20251022143349yarn add @medusajs/stock-location@2.11.1-snapshot-20251022143349yarn add @medusajs/store@2.11.1-snapshot-20251022143349yarn add @medusajs/tax@2.11.1-snapshot-20251022143349yarn add @medusajs/user@2.11.1-snapshot-20251022143349yarn add @medusajs/workflow-engine-inmemory@2.11.1-snapshot-20251022143349yarn add @medusajs/workflow-engine-redis@2.11.1-snapshot-20251022143349yarn add @medusajs/draft-order@2.11.1-snapshot-20251022143349
|
|
/snapshot-this |
🚀 A snapshot release has been made for this PRTest the snapshots by updating your yarn add @medusajs/admin-bundler@2.11.1-snapshot-20251022165335yarn add @medusajs/admin-sdk@2.11.1-snapshot-20251022165335yarn add @medusajs/admin-shared@2.11.1-snapshot-20251022165335yarn add @medusajs/admin-vite-plugin@2.11.1-snapshot-20251022165335yarn add @medusajs/dashboard@2.11.1-snapshot-20251022165335yarn add create-medusa-app@2.11.1-snapshot-20251022165335yarn add @medusajs/cli@2.11.1-snapshot-20251022165335yarn add medusa-dev-cli@2.11.1-snapshot-20251022165335yarn add @medusajs/medusa-oas-cli@2.11.1-snapshot-20251022165335yarn add @medusajs/core-flows@2.11.1-snapshot-20251022165335yarn add @medusajs/framework@2.11.1-snapshot-20251022165335yarn add @medusajs/js-sdk@2.11.1-snapshot-20251022165335yarn add @medusajs/modules-sdk@2.11.1-snapshot-20251022165335yarn add @medusajs/orchestration@2.11.1-snapshot-20251022165335yarn add @medusajs/types@2.11.1-snapshot-20251022165335yarn add @medusajs/utils@2.11.1-snapshot-20251022165335yarn add @medusajs/workflows-sdk@2.11.1-snapshot-20251022165335yarn add @medusajs/deps@2.11.1-snapshot-20251022165335yarn add @medusajs/icons@2.11.1-snapshot-20251022165335yarn add @medusajs/ui@4.0.25-snapshot-20251022165335yarn add @medusajs/ui-preset@2.11.1-snapshot-20251022165335yarn add @medusajs/medusa@2.11.1-snapshot-20251022165335yarn add @medusajs/telemetry@2.11.1-snapshot-20251022165335yarn add @medusajs/test-utils@2.11.1-snapshot-20251022165335yarn add @medusajs/analytics@2.11.1-snapshot-20251022165335yarn add @medusajs/api-key@2.11.1-snapshot-20251022165335yarn add @medusajs/auth@2.11.1-snapshot-20251022165335yarn add @medusajs/cache-inmemory@2.11.1-snapshot-20251022165335yarn add @medusajs/cache-redis@2.11.1-snapshot-20251022165335yarn add @medusajs/caching@2.11.1-snapshot-20251022165335yarn add @medusajs/cart@2.11.1-snapshot-20251022165335yarn add @medusajs/currency@2.11.1-snapshot-20251022165335yarn add @medusajs/customer@2.11.1-snapshot-20251022165335yarn add @medusajs/event-bus-local@2.11.1-snapshot-20251022165335yarn add @medusajs/event-bus-redis@2.11.1-snapshot-20251022165335yarn add @medusajs/file@2.11.1-snapshot-20251022165335yarn add @medusajs/fulfillment@2.11.1-snapshot-20251022165335yarn add @medusajs/index@2.11.1-snapshot-20251022165335yarn add @medusajs/inventory@2.11.1-snapshot-20251022165335yarn add @medusajs/link-modules@2.11.1-snapshot-20251022165335yarn add @medusajs/locking@2.11.1-snapshot-20251022165335yarn add @medusajs/notification@2.11.1-snapshot-20251022165335yarn add @medusajs/order@2.11.1-snapshot-20251022165335yarn add @medusajs/payment@2.11.1-snapshot-20251022165335yarn add @medusajs/pricing@2.11.1-snapshot-20251022165335yarn add @medusajs/product@2.11.1-snapshot-20251022165335yarn add @medusajs/promotion@2.11.1-snapshot-20251022165335yarn add @medusajs/analytics-local@2.11.1-snapshot-20251022165335yarn add @medusajs/analytics-posthog@2.11.1-snapshot-20251022165335yarn add @medusajs/auth-emailpass@2.11.1-snapshot-20251022165335yarn add @medusajs/auth-github@2.11.1-snapshot-20251022165335yarn add @medusajs/auth-google@2.11.1-snapshot-20251022165335yarn add @medusajs/caching-redis@2.11.1-snapshot-20251022165335yarn add @medusajs/file-local@2.11.1-snapshot-20251022165335yarn add @medusajs/file-s3@2.11.1-snapshot-20251022165335yarn add @medusajs/fulfillment-manual@2.11.1-snapshot-20251022165335yarn add @medusajs/locking-postgres@2.11.1-snapshot-20251022165335yarn add @medusajs/locking-redis@2.11.1-snapshot-20251022165335yarn add @medusajs/notification-local@2.11.1-snapshot-20251022165335yarn add @medusajs/notification-sendgrid@2.11.1-snapshot-20251022165335yarn add @medusajs/payment-stripe@2.11.1-snapshot-20251022165335yarn add @medusajs/region@2.11.1-snapshot-20251022165335yarn add @medusajs/sales-channel@2.11.1-snapshot-20251022165335yarn add @medusajs/settings@2.11.1-snapshot-20251022165335yarn add @medusajs/stock-location@2.11.1-snapshot-20251022165335yarn add @medusajs/store@2.11.1-snapshot-20251022165335yarn add @medusajs/tax@2.11.1-snapshot-20251022165335yarn add @medusajs/user@2.11.1-snapshot-20251022165335yarn add @medusajs/workflow-engine-inmemory@2.11.1-snapshot-20251022165335yarn add @medusajs/workflow-engine-redis@2.11.1-snapshot-20251022165335yarn add @medusajs/draft-order@2.11.1-snapshot-20251022165335
|
* wip(product): variant images * fix: return type * wip: repo and list approach * fix: redo repo method, make test pass * fix: change getVariantImages impl * feat: update test * feat: API and core flows layer * wip: integration spec * fix: deterministic test * chore: refactor and simplify, cleanup, remove repo method * wip: batch add all images to all vairants * fix: remove, expand testing * refactor: pass variants instead of refetch * chore: expand integration test * feat: test multi assign route * fix: remove `/admin/products/:id/variants/images` route * feat: batch images to variant endpoint * fix: length assertion * feat: variant thumbnail * fix: send variant thumbnail by default * fix: product export test assertion * fix: test * feat: variant thumbnail on line item * fix: add missing list and count method, update types * feat: optimise variant images lookups * feat: thumbnail management in core flows * fix: typos, type, build * feat: cascade delete to pivot table, rm unused unused fields * feat(dashboard): variant images management UI (#13670) * wip(dashboard): setup variant media form * wip: cleanup table and images, wip check handler * feat: proper sidebar functionallity * fefat: add js-sdk and hooks * feat: allow only one selection * wip: lazy load variants in the table * feat: new variants management for images on product details * chore: refactor * wip: variant details page work * fix: cleanup media section, fix issues and types * feat: correct scoped images, cleanup in edit modal * feat: js sdk and hooks, filter out product images on variant details, labels, add API call and wrap UI * chore: cleanup * refacto: rename route * feat: thumbnail functionallity * fix: refresh checked after revalidation load * fix: rm unused, refactor type * Create thirty-clocks-refuse.md * feat: new add remove variant media layout * feat: new image add UX --------- Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com> * fix: table name in migration * chore: update changesets --------- Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
|
when will we have new version for this feature ? @fPolic @willbouch |
|
@quangtuandev, there are a few related PRs that we need to merge for this feature to be ready. We are aiming to have a release EOW. |
|
Awesome! Thank you @fPolic @willbouch |
this feature already release in |
What
variant-images-1759943755940.mp4
DEPENDS ON #13623
CLOSES CORE-1217